package com.huqing.icu.utils;

import com.baomidou.mybatisplus.core.toolkit.IdWorker;


public class PostIdGenerator {
    /**
     * 生成帖子 ID 的静态方法。
     * 结合 MyBatis-Plus 的 IdWorker 生成的 ID 和用户 ID 的低 3 位来生成最终的帖子 ID。
     * 
     * @param userId 用户的 ID
     * @return 生成的帖子 ID
     */
    public static long generatePostId(Long userId) {
        // 获取 MyBatis-Plus 的 IdWorker 生成的 ID，并清除其低 3 位
        long baseId = (IdWorker.getId() / 8) * 8;
        // 获取用户 ID 的低 3 位
        long userIdLowBits = userId % 8;
        // 将清除低 3 位的基础 ID 和用户 ID 的低 3 位进行相加操作，得到最终的帖子 ID
        return baseId + userIdLowBits;
    }
}